From: Keir Fraser Date: Thu, 2 Jul 2009 10:32:49 +0000 (+0100) Subject: xend: Restore uname of blktap for managed domains X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~13661 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=add9e579b672d4360cbe58bb1ff01aa4b28d86b2;p=xen.git xend: Restore uname of blktap for managed domains Signed-off-by: Masaki Kanno --- diff --git a/tools/python/xen/xend/XendConfig.py b/tools/python/xen/xend/XendConfig.py index f3fc0db95a..fdff3adec3 100644 --- a/tools/python/xen/xend/XendConfig.py +++ b/tools/python/xen/xend/XendConfig.py @@ -1120,6 +1120,8 @@ class XendConfig(dict): if sxp.child_value(config, 'bootable', None) is None: is_bootable = dev_cfg.get('bootable', 0) config.append(['bootable', int(is_bootable)]) + if dev_cfg.has_key('required_uname'): + config.append(['required_uname', dev_cfg['required_uname']]) config.append(['VDI', dev_cfg.get('VDI', '')]) sxpr.append(['device', config]) @@ -1370,10 +1372,16 @@ class XendConfig(dict): dev_info['driver'] = 'paravirtualised' if dev_type == 'tap' or dev_type == 'tap2': + if dev_info.has_key('required_uname'): + # Restore uname by required_uname because uname might + # be replaced with 'phy:/dev/xen/blktap-2/tapdev*'. + dev_info['uname'] = dev_info['required_uname'] + else: + # Save uname for next domain start. + dev_info['required_uname'] = dev_info['uname'] if dev_info['uname'].split(':')[1] not in blktap_disk_types: raise XendConfigError("tap:%s not a valid disk type" % dev_info['uname'].split(':')[1]) - dev_info['required_uname'] = dev_info['uname'] if dev_type == 'vif': if not dev_info.get('mac'):